Feature-based software design pattern detection
نویسندگان
چکیده
Software design patterns are standard solutions to common problems in software and architecture. Knowing that a particular module implements pattern is shortcut comprehension. Manually detecting time consuming challenging task, therefore, researchers have proposed automatic detection techniques. However, these techniques show low performance for certain patterns. In this work, we introduce approach, DPDF improves the over state-of-the-art by using code features with machine learning classifiers automatically train detector. creates semantic representation of Java source call graph, applies Word2Vec algorithm on construct word-space geometric model code. then builds classifier trained labelled dataset identifies 80% Precision 79% Recall. Additionally, compared two existing namely FeatureMaps & MARPLE-DPD. Empirical results demonstrate our approach outperforms approaches approximately 35% 15% respectively terms Precision. The run-time also supports practical applicability classifier.
منابع مشابه
SPQR: Formalized Design Pattern Detection and Software Architecture Analysis
We present formal analysis methods and results from SPQR, the System for Pattern Query and Recognition, a toolkit that detects instances of known design patterns directly from object-oriented source code in an automated and flexible manner. Based on previous work in rhocalculus (extended Abadi/Cardelli sigma-calculus) and Pattern/Object Markup Language (POML), the SPQR toolset is easily retarge...
متن کاملA tool for design pattern detection and software architecture reconstruction
It is well known that software maintenance and evolution are expensive activities, both in terms of invested time and money. Reverse engineering activities support the obtainment of abstractions and views from a target system that should help the engineers to maintain, evolve and eventually re-engineer it. Two important tasks pursued by reverse engineering are design pattern detection and softw...
متن کاملCustomizable feature based design pattern recognition integrating multiple techniques
factory, Adapter, Builder, Command, Composite, Decorator, Factory method, Observer, Prototype, Singleton, State, Strategy, Template method, and Visitor patterns. The approach focuses on reducing search space, but it may return large number of false positives when certain roles are removed for detecting patterns. Arceli et al. [46] have presented a design pattern detection approach which is base...
متن کاملThe Hyper/UML Approach for Feature Based Software Design
The market requests complex but adaptable software systems. There are different concepts to meet this demand, for example software reusability, component-based development, agile processes, generative programming and domain analysis. For similar products within a domain product lines are a very promising approach for shortening development time and cost and for improving quality. Software produ...
متن کاملAutomatic Design Pattern Detection
We detect design patterns in legacy code combining static and dynamic analyses. The analyses do not depend on coding or naming conventions. We classify potential pattern instances according to the evidence our analyses provide. We discuss our approach for the Observer, Composite, Mediator, Chain of Responsibility and Visitor Patterns. Our Java analysis tool analyzes Java programs. We evaluate o...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Journal of Systems and Software
سال: 2022
ISSN: ['0164-1212', '1873-1228']
DOI: https://doi.org/10.1016/j.jss.2021.111179